2d34394629896c09c6865efd32bc3ce7c6fe1fe5,src/main/java/com/bezman/controller/user/OAuthController.java,OAuthController,githubCallback,#HttpServletRequest#HttpServletResponse#String#,324
Before Change
try {
com.bezman.model.User user = GithubProvider.userForCode(code);
Session session = DatabaseManager.getSession();
Query query = session.createQuery("from User where providerID = :providerID and provider = :provider");
query.setString("providerID", user.getProviderID());
query.setString("provider", user.getProvider());
com.bezman.model.User queryUser = (com.bezman.model.User) DatabaseUtil.getFirstFromQuery(query);
session.close();
if (queryUser == null) {
userService.addUser(user);
} else {
user.setId(queryUser.getId());
}
Cookie cookie = new Cookie("token", user.newSession());
cookie.setPath("/");
response.addCookie(cookie);
response.sendRedirect(Reference.rootURL + "/");
} catch (Exception e) {
e.printStackTrace();
}
After Change
@RequestMapping("/github_callback")
public ResponseEntity githubCallback(HttpServletRequest request, HttpServletResponse response, @RequestParam("code") String code) {
com.bezman.model.User user = GithubProvider.userForCode(code);
com.bezman.model.User queryUser = userService.userForProviderAndProviderID(user.getProvider(), user.getProviderID());
if (queryUser == null) {
userService.createConnectedAccountFromPrimaryAccount(user);
} else {
user.setId(queryUser.getId());
}
this.authService.loginUser(user);
this.httpService.sendRedirect("/");
return null;
}